package model.components.nodes.node;

public class VirtualNode extends Node
{
	private int startingDate;
	public int getStartingDate(){ return startingDate; }
	public void setStartingDate( int startingDate ){ this.startingDate = startingDate; }
	
	private int endingDate;
	public int getEndingDate(){ return endingDate; }
	public void setEndingDate( int endingDate ){ this.endingDate = endingDate; }
	
	private int lifeTime;
	public int getLifeTime(){ return lifeTime; }
	public void setLifeTime( int lifeTime ){ this.lifeTime = lifeTime; }
	
	private PhysicalNode physicalNode = null;
	public PhysicalNode getPhysicalNode(){ return physicalNode; }
	public void setPhysicalNode( PhysicalNode physicalNode ){ this.physicalNode = physicalNode; }
	
	private int cpuUnitTimeUnitPrice;
	public int getCpuUnitTimeUnitPrice(){ return cpuUnitTimeUnitPrice; }
	public void setCpuUnitTimeUnitPrice( int cpuUnitTimeUnitPrice ){ this.cpuUnitTimeUnitPrice = cpuUnitTimeUnitPrice; }
	
	private int memoryUnitTimeUnitPrice;
	public int getMemoryUnitTimeUnitPrice(){ return memoryUnitTimeUnitPrice; }
	public void setMemoryUnitTimeUnitPrice( int memoryUnitTimeUnitPrice ){ this.memoryUnitTimeUnitPrice = memoryUnitTimeUnitPrice; }

	public VirtualNode( String networkName, int startingDate, int endingDate, String namePrefix, int number, String type, String operatingSystem, String virtualEnvironment, int cpu, int memory, String greyIcon, String greenIcon, String yellowIcon, String redIcon )
	{
		super( networkName, namePrefix, number, type, operatingSystem, virtualEnvironment, cpu, memory, greyIcon, greenIcon, yellowIcon, redIcon );
		
		this.setStartingDate( startingDate );
		this.setEndingDate( endingDate );
		this.setLifeTime( endingDate - startingDate );
	}
	
	@Override
	public VirtualNode getCopy()
	{
		return null;
	}

}
